package vip.lsjscl.demo.common.manager;

import java.io.File;

/**
 * 文件管理器
 *
 * @author zhangxingju
 * @date 2025/03/14
 */
public class FileManager {

    /**
     * 临时文件目录
     */
    public static final String TEMP_DIR = System.getProperty("java.io.tmpdir");

    /**
     * 获取临时文件
     *
     * @param taskId   任务 ID
     * @param fileName 文件名
     * @return {@link String }
     */
    public static File getTempFile(String taskId, String fileName) {
        File dir = new File(FileManager.TEMP_DIR + File.separator + taskId);
        if (!dir.exists()) {
            boolean createRes = dir.mkdirs();
            if (!createRes) {
                throw new RuntimeException("Failed to create directory: " + dir.getAbsolutePath());
            }
        }
        return new File(FileManager.TEMP_DIR + File.separator + taskId, fileName);
    }

    /**
     * 获取临时文件路径
     *
     * @param taskId 任务 ID
     * @return {@link String }
     */
    public static File getTempFilePath(String taskId) {
        return new File(FileManager.TEMP_DIR + File.separator + taskId);
    }


    /**
     * 删除临时文件
     *
     * @param taskId 任务 ID
     */
    public static void deleteTempFile(String taskId) {
        File tempFile = getTempFilePath(taskId);
        if (tempFile.exists()) {
            tempFile.delete();
        }
    }
}
